package com.changsideal.core;

import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectResult;
import com.amazonaws.services.s3.model.S3ObjectSummary;

import java.util.List;

/**
 * @ClassName S3Template
 * @Description TODO
 * @Author Create by Chansideal.Haosc
 * @Date 2019/6/19 10:57
 * @Version 1.2
 **/
public interface S3Template extends CloudStorgeFactory, AutoCloseable {

    void connect();

    @Override
    Boolean produce();

    PutObjectResult create();

    ObjectMetadata createMetaData();

    Boolean easyDownload();

    List<S3ObjectSummary> getFilesByBucketName(String bucketName);

    @Override
    void close() throws Exception;
}
